package com.josn.dingshidemo.ScheduledTasks;

import com.josn.dingshidemo.User;
import com.josn.dingshidemo.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
/**
 * 定时任务类
 */
public class Task {
    @Autowired
    private UserMapper userMapper;

    // 每隔1秒执行一次
    //@Scheduled(fixedRate = 3000)
    public void adduser() {
        // 插入用户
        User user = new User();
        Integer randint = 1 + (int) (Math.random() * 10000); // 随机生成整数作为id  生成1到10000之间的随机整数
        user.setId(randint);
        user.setUsername("user" + randint);
        userMapper.adduser(user);

        // 查询
        String id = Integer.toString(randint);
        System.out.println(userMapper.QueryById(id));
    }


    // 每天凌晨18:42点执行 格式："秒 分钟 小时 * * ?"

    //    Cron 表达式	含义
//0 0 12 * * ?	每天中午 12 点执行
//0 15 10 ? * *	每天上午 10:15 执行
//0 15 10 * * ?	每天上午 10:15 执行
//0 0 10,14,16 * * ?	每天上午 10 点、下午 2 点、4 点执行
//0 0/30 9-17 * * ?	每天 9:00 至 17:00 之间每半小时执行
//0 0 12 ? * WED	每周三中午 12 点执行
//0 0 12 1 * ?	每月 1 日中午 12 点执行
    @Scheduled(cron = "0 40 18 * * ?")
    public void dailyTask() {
        // 插入用户
        User user = new User();
        Integer randint = 1 + (int) (Math.random() * 10000); // 随机生成整数作为id  生成1到10000之间的随机整数
        user.setId(randint);
        user.setUsername("user" + randint);
        userMapper.adduser(user);

        // 查询
        String id = Integer.toString(randint);
        System.out.println(userMapper.QueryById(id));
    }
}
